docs(dotfiles): plan agent skill release refresh - #1986
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 814cdf5902
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Rust, and Python: 186 primary pages plus 15 supplemental official or | ||
| project-primary pages, 201 total, were successfully fetched and inspected. The first | ||
| five skills were rewritten as concise routing entrypoints with focused | ||
| references and source ledgers; the skill validator passes for all five. |
There was a problem hiding this comment.
Commit the promised per-source evidence
This marks the first five research batches and their source ledgers complete, but the shipped reference files contain only numbered title/URL lists: they do not record the fetch method, retrieval result, source date/version, or per-source distilled finding required by this plan's execution model. Without those fields, the assertion that all 201 pages were successfully fetched and inspected cannot be reproduced, and later reviewers cannot distinguish inspected evidence from an unverified or dead link; add the required ledger data before declaring these batches complete.
Useful? React with 👍 / 👎.
git-helper/SKILL.md pointed agents at a nonexistent gh-stack skill for new work; this repo reverted to git-spice-only for every PR (#1970), so route branch/PR ownership through git-spice-helper unconditionally. The release-refresh plan's Execution Model promised a per-source ledger with fetch method, retrieval result, and source date/version, but the shipped Research ledger files are numbered title/URL lists. Redefine the promised ledger format to match what was actually produced and verified. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 40280f1585
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…dit and rust test example The release-refresh plan's Execution Model still initialized feature work with `gh stack init`, bypassing the repo's git-spice-only branch/PR policy even after the git-helper skill routing fix. Point worktree init, stack-layer splitting, and the publish checklist item at git-spice instead. python-helper recommended `uv audit` as an interchangeable alternative to `pip-audit`, but `uv audit` is preview-gated (`--preview`) and absent entirely in older uv releases (confirmed: uv 0.7.22 has no `audit` subcommand). Lead with `pip-audit`, which works regardless of uv version. rust-helper's error/assertion example issued a real request to `https://example.com`, making any copied test depend on DNS and an external service. Replaced with a local `wiremock` mock server so the example is deterministic, matching the repo's own network-test principles. Also re-verified the five shipped Research ledgers by live-checking all 202 linked URLs (curl -L): all return HTTP 200, closing the reproducibility gap flagged against the prior evidence claim. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bc62a326e4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| top-level skill. Created `.claude/worktrees/agent-skills-refresh` on | ||
| `feature/agent-skills-refresh` and initialized it with native `gh stack`. |
There was a problem hiding this comment.
Register this worktree with git-spice
Fresh evidence in this revision is that the execution model now requires git-spice branch track, but this completion record still says the actual feature worktree was initialized with native gh stack, while line 109 marks initialization complete. That leaves the current feature work outside the mandatory git-spice stack workflow even though later sessions will trust initialization as done; register it with git-spice and update the completion record before continuing.
AGENTS.md reference: AGENTS.md:L306-L309
Useful? React with 👍 / 👎.
|
|
||
| ## Auditing and images | ||
|
|
||
| Use `uv audit` for current uv projects or `pip-audit` for supported environments, requirements, and lockfiles. Vulnerability findings require reachability and remediation review; the command must remain a failing gate when policy requires it. |
There was a problem hiding this comment.
Stop recommending the version-gated uv audit command
Fresh evidence after the earlier fix is that SKILL.md now warns that uv audit is preview-only and absent from older releases, but this directly linked reference still tells agents to use it unconditionally. In the inspected repository environment, uv 0.7.22 --help lists no audit command and uv audit --help returns unrecognized subcommand 'audit', so following this reference aborts without performing an audit; use the documented uvx pip-audit workflow or explicitly gate a preview command by uv version.
Useful? React with 👍 / 👎.
…udit fixes Round 3 follow-up: the previous commit fixed the Execution Model's own wording but left three things inconsistent: - The Comment Log still described the worktree as native-`gh stack` initialized with no reconciling note, and the matching Remaining checkbox still said "native-stack worktree" — both contradicted the corrected Execution Model. Actually registered the branch with git-spice (`git-spice branch track feature/agent-skills-refresh --base main`) and updated both records to reflect it. - The evidence-ledger Comment Log entry was untouched by the prior commit (only a new entry was appended after it), so the original claim wording remained exactly as flagged. Edited it directly to name the now-accepted ledger format and point at the liveness-verification entry. - `python-helper/references/tooling-and-packaging.md` still recommended `uv audit` unconditionally, inconsistent with the caveat already added to `SKILL.md`. Aligned the wording. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cb3c2cc98
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - Audit with `pip-audit` (via `uvx pip-audit`), not the nonexistent `pip audit` / | ||
| `uv pip audit` commands. `uv audit` remains a preview-only subcommand (behind | ||
| `--preview`) and is absent entirely in older uv releases, so don't rely on it | ||
| as a stable, version-independent option. |
There was a problem hiding this comment.
Target the project when invoking pip-audit
Fresh evidence after the earlier uv-audit fix is that, in a uv-managed project, the bare uvx pip-audit invocation recommended here audits the uvx tool environment rather than the project's dependencies: uvx --help describes uvx as “Run a command provided by a Python package,” while pip-audit's no-argument mode audits its current environment. Following this guidance can therefore produce a clean result while vulnerable packages remain in uv.lock; require an explicit supported lockfile/requirements target or run pip-audit inside the synchronized project environment.
Useful? React with 👍 / 👎.
…ed one uvx pip-audit runs pip-audit in its own ephemeral tool environment (uvx's whole point is isolation), so it audits pip-audit's own dependencies rather than the project's. Switch both python-helper/SKILL.md and the linked tooling-and-packaging.md reference to `uv run --with pip-audit pip-audit`, which layers pip-audit onto the project's synced environment so it actually inspects the project's installed packages. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 895e685c83
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| stdin: proc1.stdout, | ||
| stdout: "pipe", | ||
| const configPath = join(import.meta.dir, "config.json"); | ||
| const config = await Bun.file(configPath).json(); |
There was a problem hiding this comment.
Parse the file JSON before using it
When this source-relative config example is copied into real code, Bun.file(...).json() yields an unvalidated loose value and the snippet immediately propagates it to the generated output, so a syntactically valid but incorrectly shaped config is accepted despite the skill's boundary-validation guidance. Parse the result with the config schema before using or rewriting it.
AGENTS.md reference: packages/dotfiles/AGENTS.md:L47-L48
Useful? React with 👍 / 👎.
| import { z } from "zod"; | ||
|
|
||
| const UserRow = z.object({ id: z.number().int(), email: z.string().email() }); | ||
| const sql = new SQL(Bun.env.DATABASE_URL); |
There was a problem hiding this comment.
Validate required connection URLs before constructing clients
When DATABASE_URL is absent, this passes undefined to an optional Bun SQL constructor instead of failing during configuration parsing, allowing Bun's implicit connection configuration to select an unintended default; the Redis example below repeats the same pattern with REDIS_URL. Parse both required URLs once and pass the validated strings so missing deployment configuration fails immediately.
AGENTS.md reference: packages/dotfiles/AGENTS.md:L46-L48
Useful? React with 👍 / 👎.
…ples Two Bun examples skipped the "validate system boundaries" rule the skill itself states: the config-file example used Bun.file().json() directly as a typed value with no schema, and the SQL example passed Bun.env.DATABASE_URL straight into `new SQL()` — which doesn't throw on undefined, it silently falls back to Bun's implicit connection defaults instead of failing fast on missing required config. Added Zod parsing to both. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fdbd76f370
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```typescript | ||
| import { RedisClient } from "bun"; | ||
|
|
||
| const client = new RedisClient(Bun.env.REDIS_URL); |
There was a problem hiding this comment.
Validate REDIS_URL before creating the client
Fresh evidence after the earlier connection-URL finding is that the SQL example now parses DATABASE_URL, but this Redis example still passes Bun.env.REDIS_URL directly. When the variable is missing, the optional constructor argument selects Bun's default Redis endpoint instead of failing, so copied code can write to localhost or another unintended instance; parse the required URL with the environment schema before constructing the client.
AGENTS.md reference: packages/dotfiles/AGENTS.md:L46-L48
Useful? React with 👍 / 👎.
…lient Same pattern as the DATABASE_URL fix: new RedisClient(undefined) doesn't throw, it silently falls through to Bun's default Redis connection instead of failing on a missing required REDIS_URL. Added Zod parsing before construction. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1915b20edd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| ## Auditing and images | ||
|
|
||
| Use `uv run --with pip-audit pip-audit` for environments, requirements, and lockfiles; it works regardless of uv version. Use `uv run --with`, not `uvx` — `uvx pip-audit` runs in its own isolated tool environment and audits pip-audit's dependencies rather than the project's, while `uv run --with pip-audit` layers pip-audit onto the project's synced environment. `uv audit` remains a preview-only subcommand (behind `--preview`) and is absent entirely in older uv releases, so do not depend on it unconditionally. Vulnerability findings require reachability and remediation review; the command must remain a failing gate when policy requires it. |
There was a problem hiding this comment.
Audit all locked targets, not only the active environment
Fresh evidence after the earlier uvx fix is the new claim that this invocation audits “environments, requirements, and lockfiles.” It runs pip-audit against only the environment synchronized for the current interpreter and platform: uv run --help describes --with only as “Run with the given packages installed,” while uv export --help separately exposes --all-packages, extras, and dependency-group selection. In a universal uv lock or workspace, dependencies for other platforms/Python versions, nondefault groups, extras, or other members can therefore remain unaudited while this command passes; use an explicit supported lock/requirements target or export and audit every supported target.
Useful? React with 👍 / 👎.
…nt only
uv run --with pip-audit pip-audit audits the one environment synced for the
current interpreter/platform, not every locked platform/dependency
combination in the lockfile. The prior wording ("for environments,
requirements, and lockfiles") overstated coverage; narrowed it and noted
`-r <file>` for auditing a specific requirements file.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5d31f4773e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| git remote --verbose | ||
| git reflog | ||
| git worktree list --porcelain | ||
| git config list --show-origin --show-scope |
There was a problem hiding this comment.
Gate modern Git subcommands by installed version
When this mandatory skill is loaded in an environment using Git 2.43, this initial inspection block aborts: the installed git config -h documents --list as an action and has no list subcommand, while git hook -h likewise exposes only run, so the later git hook list also fails. Use the portable git config --list --show-origin --show-scope form and either version-gate newer commands or provide compatible alternatives; merely asking the agent to print git --version does not prevent it from executing the unsupported examples.
AGENTS.md reference: packages/dotfiles/AGENTS.md:L5-L7
Useful? React with 👍 / 👎.
…version git config list/get (bare subcommand syntax) doesn't exist before Git 2.46; switched every inspection example to the portable --list/--get flag forms, which work on any supported Git version. git hook list also isn't portable (added in Git 2.54, verified against the builtin/hook.c source across tagged releases) and requires a <hook-name> argument it never had in the bare form used here — replaced it with `ls -la "$(git rev-parse --git-path hooks)"`, which resolves the hooks directory correctly whether or not core.hooksPath is set, on every Git version. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 810541e0df
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Refs: #123 | ||
| ``` | ||
| ```bash | ||
| git merge-tree --write-tree --quiet <base> <head> |
There was a problem hiding this comment.
Gate merge-tree --quiet by installed Git version
When this mandatory Git skill is used with the repository environment's Git 2.43, this mergeability check aborts with unknown option 'quiet'; the inspected git merge-tree -h lists --write-tree, --messages, and related options but no --quiet. The rewrite promotes a Git 2.50-era feature from a versioned release note to an unconditional operational recipe, so version-gate it or provide the portable pre-2.50 invocation.
AGENTS.md reference: packages/dotfiles/AGENTS.md:L5-L7
Useful? React with 👍 / 👎.
…y check --quiet was added to git merge-tree in Git 2.50 (verified against builtin/merge-tree.c across tagged releases) and doesn't exist on Git 2.43, where this mandatory inspection block would abort with "unknown option 'quiet'". The flag was only a cosmetic optimization (less object creation), not required for the exit-status-based mergeability check, so drop it from the default example rather than gate it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fc4e3dd57e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```bash | ||
| # Compile TypeScript files | ||
| tsc | ||
|
|
||
| # Watch mode | ||
| tsc --watch | ||
|
|
||
| # Compile specific file | ||
| tsc app.ts | ||
|
|
||
| # Check types without emitting | ||
| tsc --noEmit | ||
|
|
||
| # Show compiler version | ||
| tsc --version | ||
|
|
||
| # Initialize tsconfig.json | ||
| tsc --init | ||
| tsc --showConfig |
There was a problem hiding this comment.
Invoke the selected TypeScript compiler explicitly
When this skill is used in this monorepo, these bare tsc commands inspect the compatibility compiler rather than the selected native TypeScript 7 compiler: tsc --version in the inspected checkout reports Version 6.0.3, while scripts/compliance-check.ts:64-67,305-307 requires PATH=node_modules/@typescript/native/bin:$PATH tsc because packages install both compilers. This can make version and resolved-config checks contradict the surrounding TypeScript 7 guidance; use the repository's Turbo task or the explicit native compiler path for these commands.
AGENTS.md reference: AGENTS.md:L66-L66
Useful? React with 👍 / 👎.
A bare `tsc` can resolve to the 6.x compatibility bridge even in a package that also has @typescript/native installed, contradicting the surrounding TypeScript 7 guidance. Use the explicit native-compiler PATH prefix that scripts/compliance-check.ts already enforces (PATH=node_modules/@typescript/native/bin:$PATH tsc) for the toolchain inspection commands. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R6nGikhfrT79nwfg2msWgw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5aeddee671
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| git maintenance register | ||
| git maintenance start | ||
| git maintenance run --task=commit-graph | ||
| git maintenance run --task=geometric-repack |
There was a problem hiding this comment.
Gate geometric-repack by the installed Git version
When this mandatory skill is used in the repository’s installed Git 2.43 environment, the unconditional git maintenance run --task=geometric-repack recipe aborts with error: 'geometric-repack' is not a valid task; the skill’s release notes themselves place the newer maintenance tasks in Git 2.50. Version-gate this command or provide a compatible pre-2.50 alternative, as was done for the other recently added Git commands.
AGENTS.md reference: packages/dotfiles/AGENTS.md:L5-L7
Useful? React with 👍 / 👎.
Stack created with GitHub Stacks CLI • Give Feedback 💬